package main.carteleracm.ca.db;

import java.util.ArrayList;
import java.util.List;

import main.carteleracm.ca.data.Pelicula;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class PeliculaDB extends SQLiteOpenHelper{
	String sqlCreatePel = "CREATE TABLE IF NOT EXISTS PELICULA (codPais TEXT,codSala TEXT,nombre TEXT, genero TEXT, clasificacion TEXT, idioma TEXT, duracion TEXT, sinopsis TEXT, formato TEXT, urlImagen TEXT, utlTrailer TEXT, UrlHorario TEXT)";
	public static String NOMBRE_DB="carteleracm.db";
	private PeliculaDB dbase;
	SQLiteDatabase db;
	
	public PeliculaDB(Context contexto, String nombre,CursorFactory factory, int version){
		super(contexto,nombre,factory,version);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		 db.execSQL(sqlCreatePel);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int verAnterior, int verNueva) {
		 db.execSQL("DROP TABLE IF EXISTS PELICULA");
         db.execSQL(sqlCreatePel);
	}
	
	public void open(Context c){
		dbase = new PeliculaDB(c, NOMBRE_DB, null, 1);
		db = dbase.getWritableDatabase();
	}
	@Override
	public void close(){
		db.close();
	}
	
	public void insertPeliculas(List<Pelicula> peliculas,String codPais,String codSala) throws Exception{
		String sql;
		db.execSQL("DELETE FROM PELICULA WHERE codPais='"+codPais+"' AND codSala='"+codSala+"'");
		for(Pelicula p:peliculas){
			sql="INSERT INTO PELICULA(codPais,codSala,nombre, genero, clasificacion, idioma, duracion, sinopsis, formato, urlImagen, utlTrailer, UrlHorario) "+
					"VALUES('"+codPais+"','"+codSala+"','"+p.getNombre()+"','"+p.getGenero()+"','"+p.getClasificacion()+"','"+p.getIdioma()+"','"+p.getDuracion()+"','"+p.getSinopsis()+"','"+p.getFormato()+"','"+p.getUrlImagen()+"','"+p.getLinkTrailer()+"','"+p.getLinkHorarios()+"')";
            db.execSQL(sql);
		}
	}
	
	public List<Pelicula> selectPeliculas(String codPais,String codSala){
		String[] campos = new String[] {"nombre", "genero", "clasificacion", "idioma", "duracion", "sinopsis", "formato", "urlImagen", "utlTrailer", "UrlHorario"};
		String[] args = new String[] {codPais,codSala};
		Cursor c = db.query("PELICULA", campos, "codPais=? AND 	codSala=?", args, null, null, null);
		List<Pelicula> peliculas = new ArrayList<Pelicula>();
		if (c.moveToFirst()) {
		     do {
		          peliculas.add(new Pelicula(c.getString(6), c.getString(7), c.getString(0), c.getString(1), c.getString(2), c.getString(3), c.getString(4), c.getString(5), c.getString(9), c.getString(8)));
		     } while(c.moveToNext());
		     return peliculas;
		}
		return null;
	}
	
}
